/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.evangelion.core.daoImpl;

import com.evangelion.core.bean.Alumno;
import com.evangelion.core.bean.Profesor;
import com.evangelion.core.bean.Seccione;
import com.evangelion.core.dao.ProfesorDao;
import java.io.Serializable;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;

/**
 *
 * @author Usuario
 */
public class ProfesorDaoImpl extends GenericDaoImpl<Serializable> implements ProfesorDao {

    @Override
    public List<Profesor> searchByNifNombre(Seccione seccion, String valor, int start, int max) {
        em = getEntityManager();
        Query q = em.createQuery("SELECT a from Profesor a WHERE (a.nif LIKE :valorParametro or a.nombres like :valorParametro) AND a.seccion=:seccion");

        q.setParameter("valorParametro", "%" + valor + "%");
        q.setParameter("seccion", seccion);
        q.setFirstResult(start);
        q.setMaxResults(max);
        return q.getResultList();
    }

    @Override
    public int countPage(Seccione seccion, String valor) {
        em = getEntityManager();
        Query q = em.createQuery("SELECT COUNT(a.id) from Profesor a WHERE (a.nif LIKE :valorParametro or a.nombres like :valorParametro) AND a.seccion=:seccion");

        q.setParameter("valorParametro", "%" + valor + "%");
        q.setParameter("seccion", seccion);
        return ((Number) q.getSingleResult()).intValue();
    }
}
